In this section, we'll cover **React**, which serves as a foundation for React Native. If you're already familiar with React and want to get started with React Native, skip ahead to the next section, [Core Components](/core_components).

## How React works

The React library lets us define the entire UI of our app as a tree of JavaScript objects. These JavaScript objects are called **React elements**. <Details>React provides the utilities for creating and manipulating this tree.</Details>

We then leverage a library with platform-specific bindings, e.g. **React Native** for the mobile apps, to **render** our tree of React elements on the screen using native UI elements. <Details>Whenever the tree of elements changes, React Native updates the native UI elements to match.</Details>
